
/**
 * Implementation of the SASL ANONYMOUS mechanisn as defined by the
 * <a href="http://www.ietf.org/internet-drafts/draft-ietf-sasl-anon-05.txt">IETF draft
 * document</a>.
 *
 * @author Gaston Dombiak
 */
class SASLAnonymous : public SASLMechanism {
public:
	SASLAnonymous(SASLAuthentication * saslAuthentication) : SASLMechanism(saslAuthentication){
    }

protected:
	std::string getName() {
        return "ANONYMOUS";
    }

	std::string getAuthenticationText(std::string & username, std::string & host, std::string & password) {
        // Nothing to send in the <auth> body
        return "";
    }

	std::string getChallengeResponse(/*byte[] bytes*/) {
        // Some servers may send a challenge to gather more information such as
        // email address. Return any string value.
        return "anything";
    }
};
